<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Softdevice Manager API</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51822 BLE SDK
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__nrf__sdm__api.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Softdevice Manager API</div>  </div>
<div class="ingroups"><a class="el" href="group__s110.html">S110 SoftDevice</a></div></div>
<div class="contents">

<p>APIs for softdevice management.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__error.html">Softdevice Manager Error Codes</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Error definitions for the SDM API. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa620a383a50dd98d8319832cedc20a19"></a><!-- doxytag: member="nrf_sdm_api::SDM_SVC_BASE" ref="gaa620a383a50dd98d8319832cedc20a19" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#gaa620a383a50dd98d8319832cedc20a19">SDM_SVC_BASE</a>&#160;&#160;&#160;0x10</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">SoftDevice Manager SVC Base number. <br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabfecdd0b916a4022bd5688d4f842c473"></a><!-- doxytag: member="nrf_sdm_api::nrf_clock_lfclksrc_t" ref="gabfecdd0b916a4022bd5688d4f842c473" args="" -->
typedef uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#gabfecdd0b916a4022bd5688d4f842c473">nrf_clock_lfclksrc_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type representing lfclk oscillator source. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#gaddfb569a9b86648e642ed0d7e3a83034">softdevice_assertion_handler_t</a> )(uint32_t pc, uint16_t line_number, const uint8_t *p_file_name)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Softdevice Assertion Handler type.  <a href="#gaddfb569a9b86648e642ed0d7e3a83034"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__nrf__sdm__api.html#gga39fca1837c5ce7715cbf571669660c13ac630d996cc188b7709f32137fcc13f48">SVC_NRF_SOFTDEVICE_ENABLE</a> =  SDM_SVC_BASE, 
<a class="el" href="group__nrf__sdm__api.html#gga39fca1837c5ce7715cbf571669660c13a58d56803385b15ac914c00d2fe07e520">SVC_NRF_SOFTDEVICE_DISABLE</a>, 
<a class="el" href="group__nrf__sdm__api.html#gga39fca1837c5ce7715cbf571669660c13a433c5994b13df37f96cf94245fdb8157">SVC_NRF_SOFTDEVICE_IS_ENABLED</a>, 
<a class="el" href="group__nrf__sdm__api.html#gga39fca1837c5ce7715cbf571669660c13ac694acdbce057294804422e0976f38b9">SVC_NRF_SDM_LAST</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">nRF SoftDevice Manager API SVC numbers.  <a href="group__nrf__sdm__api.html#ga39fca1837c5ce7715cbf571669660c13">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a761cb94e13a81c6a1e09021f7fbadc8b">NRF_CLOCK_LFCLKSRC_RC_250_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4abadb40f1cba74435f3ad04f04c700c86">NRF_CLOCK_LFCLKSRC_XTAL_500_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a65044d23edf148cbeb93dd4e785f581d">NRF_CLOCK_LFCLKSRC_XTAL_250_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a02019daada779a6cdb69fa13dad053e2">NRF_CLOCK_LFCLKSRC_XTAL_150_PPM</a>, 
<br/>
&#160;&#160;<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4ab5bb363243d2e2b382bc4c1dad745a33">NRF_CLOCK_LFCLKSRC_XTAL_100_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a87f389b60383a850468327a5970cb395">NRF_CLOCK_LFCLKSRC_XTAL_75_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a2d5febc7eb0c8f35c3279a705d7974dd">NRF_CLOCK_LFCLKSRC_XTAL_50_PPM</a>, 
<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4ad2464539b8d78659dc83998a4ae66fa6">NRF_CLOCK_LFCLKSRC_XTAL_30_PPM</a>, 
<br/>
&#160;&#160;<a class="el" href="group__nrf__sdm__api.html#ggaaf8fd5f0e57d456151c951e0f3715fc4a1c5e9917211a50eac336a3fd2e467756">NRF_CLOCK_LFCLKSRC_XTAL_20_PPM</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible lfclk oscillator sources.  <a href="group__nrf__sdm__api.html#gaaf8fd5f0e57d456151c951e0f3715fc4">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#gab4a6eafa0f10e76d5da711dd86181d8b">nrf_softdevice_enable</a> (<a class="el" href="group__nrf__sdm__api.html#gabfecdd0b916a4022bd5688d4f842c473">nrf_clock_lfclksrc_t</a> clock_source, <a class="el" href="group__nrf__sdm__api.html#gaddfb569a9b86648e642ed0d7e3a83034">softdevice_assertion_handler_t</a> assertion_handler)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the softdevice and by extension the protocol stack.  <a href="#gab4a6eafa0f10e76d5da711dd86181d8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#ga8f94aa8af4a53ba406d0fc8f9b78950b">nrf_softdevice_disable</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the softdevice and by extension the protocol stack.  <a href="#ga8f94aa8af4a53ba406d0fc8f9b78950b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__nrf__sdm__api.html#ga011aa4c497ffffc4af3e04300b4fec8b">nrf_softdevice_is_enabled</a> (uint8_t *p_softdevice_enabled)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the softdevice is enabled.  <a href="#ga011aa4c497ffffc4af3e04300b4fec8b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>APIs for softdevice management. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gaddfb569a9b86648e642ed0d7e3a83034"></a><!-- doxytag: member="nrf_sdm.h::softdevice_assertion_handler_t" ref="gaddfb569a9b86648e642ed0d7e3a83034" args=")(uint32_t pc, uint16_t line_number, const uint8_t *p_file_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* <a class="el" href="group__nrf__sdm__api.html#gaddfb569a9b86648e642ed0d7e3a83034">softdevice_assertion_handler_t</a>)(uint32_t pc, uint16_t line_number, const uint8_t *p_file_name)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Softdevice Assertion Handler type. </p>
<p>When an unexpected error occurs within the softdevice it will call the softdevice assertion handler callback. The protocol stack will be in an undefined state when this happens and the only way to recover will be to perform a reset, using e.g. CMSIS NVIC_SystemReset().</p>
<dl class="note"><dt><b>Note:</b></dt><dd>This callback is executed in HardFault context, thus SVC functions cannot be called from the softdevice assert callback.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pc</td><td>The program counter of the failed assert. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">line_number</td><td>Line number where the assert failed. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">file_name</td><td>File name where the assert failed. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="nrf__sdm_8h_source.html#l00074">74</a> of file <a class="el" href="nrf__sdm_8h_source.html">nrf_sdm.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga39fca1837c5ce7715cbf571669660c13"></a><!-- doxytag: member="nrf_sdm.h::@22" ref="ga39fca1837c5ce7715cbf571669660c13" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>nRF SoftDevice Manager API SVC numbers. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13ac630d996cc188b7709f32137fcc13f48"></a><!-- doxytag: member="SVC_NRF_SOFTDEVICE_ENABLE" ref="gga39fca1837c5ce7715cbf571669660c13ac630d996cc188b7709f32137fcc13f48" args="" -->SVC_NRF_SOFTDEVICE_ENABLE</em>&nbsp;</td><td>
<p><a class="el" href="group__nrf__sdm__api.html#gab4a6eafa0f10e76d5da711dd86181d8b" title="Enables the softdevice and by extension the protocol stack.">nrf_softdevice_enable</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a58d56803385b15ac914c00d2fe07e520"></a><!-- doxytag: member="SVC_NRF_SOFTDEVICE_DISABLE" ref="gga39fca1837c5ce7715cbf571669660c13a58d56803385b15ac914c00d2fe07e520" args="" -->SVC_NRF_SOFTDEVICE_DISABLE</em>&nbsp;</td><td>
<p><a class="el" href="group__nrf__sdm__api.html#ga8f94aa8af4a53ba406d0fc8f9b78950b" title="Disables the softdevice and by extension the protocol stack.">nrf_softdevice_disable</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13a433c5994b13df37f96cf94245fdb8157"></a><!-- doxytag: member="SVC_NRF_SOFTDEVICE_IS_ENABLED" ref="gga39fca1837c5ce7715cbf571669660c13a433c5994b13df37f96cf94245fdb8157" args="" -->SVC_NRF_SOFTDEVICE_IS_ENABLED</em>&nbsp;</td><td>
<p><a class="el" href="group__nrf__sdm__api.html#ga011aa4c497ffffc4af3e04300b4fec8b" title="Check if the softdevice is enabled.">nrf_softdevice_is_enabled</a> </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga39fca1837c5ce7715cbf571669660c13ac694acdbce057294804422e0976f38b9"></a><!-- doxytag: member="SVC_NRF_SDM_LAST" ref="gga39fca1837c5ce7715cbf571669660c13ac694acdbce057294804422e0976f38b9" args="" -->SVC_NRF_SDM_LAST</em>&nbsp;</td><td>
<p>Placeholder for last SDM SVC </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__sdm_8h_source.html#l00039">39</a> of file <a class="el" href="nrf__sdm_8h_source.html">nrf_sdm.h</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf8fd5f0e57d456151c951e0f3715fc4"></a><!-- doxytag: member="nrf_sdm.h::@23" ref="gaaf8fd5f0e57d456151c951e0f3715fc4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible lfclk oscillator sources. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a761cb94e13a81c6a1e09021f7fbadc8b"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_RC_250_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a761cb94e13a81c6a1e09021f7fbadc8b" args="" -->NRF_CLOCK_LFCLKSRC_RC_250_PPM</em>&nbsp;</td><td>
<p>LFCLK RC oscillator. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4abadb40f1cba74435f3ad04f04c700c86"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_500_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4abadb40f1cba74435f3ad04f04c700c86" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_500_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 500 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a65044d23edf148cbeb93dd4e785f581d"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_250_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a65044d23edf148cbeb93dd4e785f581d" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_250_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 250 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a02019daada779a6cdb69fa13dad053e2"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_150_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a02019daada779a6cdb69fa13dad053e2" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_150_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 150 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4ab5bb363243d2e2b382bc4c1dad745a33"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_100_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4ab5bb363243d2e2b382bc4c1dad745a33" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_100_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 100 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a87f389b60383a850468327a5970cb395"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_75_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a87f389b60383a850468327a5970cb395" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_75_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 75 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a2d5febc7eb0c8f35c3279a705d7974dd"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_50_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a2d5febc7eb0c8f35c3279a705d7974dd" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_50_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 50 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4ad2464539b8d78659dc83998a4ae66fa6"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_30_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4ad2464539b8d78659dc83998a4ae66fa6" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_30_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 30 PPM accuracy </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggaaf8fd5f0e57d456151c951e0f3715fc4a1c5e9917211a50eac336a3fd2e467756"></a><!-- doxytag: member="NRF_CLOCK_LFCLKSRC_XTAL_20_PPM" ref="ggaaf8fd5f0e57d456151c951e0f3715fc4a1c5e9917211a50eac336a3fd2e467756" args="" -->NRF_CLOCK_LFCLKSRC_XTAL_20_PPM</em>&nbsp;</td><td>
<p>LFCLK crystal oscillator 20 PPM accuracy </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="nrf__sdm_8h_source.html#l00047">47</a> of file <a class="el" href="nrf__sdm_8h_source.html">nrf_sdm.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gab4a6eafa0f10e76d5da711dd86181d8b"></a><!-- doxytag: member="nrf_sdm.h::nrf_softdevice_enable" ref="gab4a6eafa0f10e76d5da711dd86181d8b" args="(nrf_clock_lfclksrc_t clock_source, softdevice_assertion_handler_t assertion_handler)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_softdevice_enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__nrf__sdm__api.html#gabfecdd0b916a4022bd5688d4f842c473">nrf_clock_lfclksrc_t</a>&#160;</td>
          <td class="paramname"><em>clock_source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__nrf__sdm__api.html#gaddfb569a9b86648e642ed0d7e3a83034">softdevice_assertion_handler_t</a>&#160;</td>
          <td class="paramname"><em>assertion_handler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enables the softdevice and by extension the protocol stack. </p>
<p>Idempotent function to enable the softdevice.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Some care must be taken if a low frequency clock source is already running when calling this function: If the LF clock has a different source then the one currently running, it will be stopped. Then, the new clock source will be started.</dd>
<dd>
This function has no effect when returning with an error.</dd></dl>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>If return code is <a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a><ul>
<li>SoC library and protocol stack APIs are made available</li>
<li>A portion of RAM will be unavailable (see the relevant SDS documentation)</li>
<li>Some peripherals will be unavailable or available only through the SoC API (see the relevant SDS documentation)</li>
<li>Interrupts will not arrive from protected peripherals or interrupts</li>
<li>nrf_nvic_ functions must be used instead of CMSIS NVIC_ functions for reliable usage of the softdevice.</li>
<li>Interrupt latency may be affected by the softdevice (see your device's documentation)</li>
<li>Chosen LF clock source will be running</li>
</ul>
</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">clock_source</td><td>Low frequency clock source and accuracy. (Note: In the case of XTAL source, the PPM accuracy of the chosen clock source must be greater than or equal to the actual characteristics of your XTAL clock). </td></tr>
    <tr><td class="paramname">assertion_handler</td><td>Callback for softdevice assertions.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd>
<dd>
<a class="el" href="group__nrf__sdm__error.html#ga5e01566a9b1b0f6fdec349198401e5bd" title="Incorrect interrupt configuration (can be caused by using illegal priority levels, or having enabled softdevice interrupts)">NRF_ERROR_SDM_INCORRECT_INTERRUPT_CONFIGURATION</a> Softdevice interrupt is already enabled, or an enabled interrupt has an illegal priority level </dd>
<dd>
<a class="el" href="group__nrf__sdm__error.html#ga987f38ed25beabe507da1d5dd31bbeae" title="Unknown lfclk source.">NRF_ERROR_SDM_LFCLK_SOURCE_UNKNOWN</a> Unknown low frequency clock source selected </dd></dl>

</div>
</div>
<a class="anchor" id="ga8f94aa8af4a53ba406d0fc8f9b78950b"></a><!-- doxytag: member="nrf_sdm.h::nrf_softdevice_disable" ref="ga8f94aa8af4a53ba406d0fc8f9b78950b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_softdevice_disable </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disables the softdevice and by extension the protocol stack. </p>
<p>Idempotent function to disable the softdevice.</p>
<dl class="post"><dt><b>Postcondition:</b></dt><dd>SoC library and protocol stack APIs are made unavailable. </dd>
<dd>
All interrupts that was protected by the softdevice will be disabled and initialized to priority 0 (highest). </dd>
<dd>
All peripherals used by the softdevice will be turned off in the NRF_POWER-&gt;PERPOWER register, and are available for the application. </dd>
<dd>
All of RAM become available. </dd>
<dd>
All interrupts are forwarded to the application. </dd>
<dd>
LFCLK source chosen in <a class="el" href="group__nrf__sdm__api.html#gab4a6eafa0f10e76d5da711dd86181d8b" title="Enables the softdevice and by extension the protocol stack.">nrf_softdevice_enable</a> will be left running.</dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ga011aa4c497ffffc4af3e04300b4fec8b"></a><!-- doxytag: member="nrf_sdm.h::nrf_softdevice_is_enabled" ref="ga011aa4c497ffffc4af3e04300b4fec8b" args="(uint8_t *p_softdevice_enabled)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t nrf_softdevice_is_enabled </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>p_softdevice_enabled</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the softdevice is enabled. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">p_softdevice_enabled</td><td>If the softdevice is enabled: 1 else 0.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="group__nrf__error.html#ga7e6367efeaac363d8cf024940b4ec123" title="Successful command.">NRF_SUCCESS</a> </dd></dl>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
